<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::Geode</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Geode</A></H2></H2><BLOCKQUOTE>Leaf Node for grouping Drawables</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
<param name=classes value="MNode,M,CGeode,MGeode.html,CBillboard,MBillboard.html">
<param name=before value="M,M,M^_">
<param name=after value="Md_,M,M">
<param name=indent value="0,1,1">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::vector&lt; <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Drawable.html">Drawable</A>&gt; &gt; DrawableList <B><A HREF="#DOC.2.48.1">Geode</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.48.2">Geode</A></B>(const <!1><A HREF="Geode.html#DOC.2.48.2">Geode</A>&amp;, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.48.3">META_Node</A></B>(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="Geode.html">Geode</A>)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const bool <B><A HREF="#DOC.2.48.4">addDrawable</A></B>( <!1><A HREF="Drawable.html">Drawable</A>* drawable )
<DD><I>Add Drawable to Geode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const bool <B><A HREF="#DOC.2.48.5">removeDrawable</A></B>( <!1><A HREF="Drawable.html">Drawable</A>* drawable )
<DD><I>Remove Drawable from Geode.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const bool <B><A HREF="#DOC.2.48.6">replaceDrawable</A></B>( <!1><A HREF="Drawable.html">Drawable</A>* origDraw, <!1><A HREF="Drawable.html">Drawable</A>* newDraw )
<DD><I>Replace specified Drawable with another Drawable.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const unsigned int <B><A HREF="#DOC.2.48.7">getNumDrawables</A></B>() const 
<DD><I>return the number of geoset's</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <!1><A HREF="Drawable.html">Drawable</A>* <B><A HREF="#DOC.2.48.8">getDrawable</A></B>( const unsigned int i )
<DD><I>return geoset at position i</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const <!1><A HREF="Drawable.html">Drawable</A>* <B><A HREF="#DOC.2.48.9">getDrawable</A></B>( const unsigned int i ) const 
<DD><I>return geoset at position i</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.48.10">containsDrawable</A></B>(const <!1><A HREF="Drawable.html">Drawable</A>* gset) const 
<DD><I>return true if geoset is contained within Geode</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   DrawableList::iterator <B><A HREF="#DOC.2.48.11">findDrawable</A></B>(const <!1><A HREF="Drawable.html">Drawable</A>* gset)
<DD><I>return the iterator position for specified Drawable.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   DrawableList::const_iterator <B><A HREF="#DOC.2.48.12">findDrawable</A></B>(const <!1><A HREF="Drawable.html">Drawable</A>* gset) const 
<DD><I>return the const_iterator position for specified Drawable.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.48.13">compileDrawables</A></B>(<!1><A HREF="State.html">State</A>&amp; state)
<DD><I>compile OpenGL Display List for each geoset</I>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>DrawableList <B><A HREF="#DOC.2.48.16">_drawables</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <B><A HREF="#DOC.2.48.14">~Geode</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const bool <B><A HREF="#DOC.2.48.15">computeBound</A></B>() const 
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Leaf Node for grouping Drawables</BLOCKQUOTE>
<DL>

<A NAME="Geode"></A>
<A NAME="DOC.2.48.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt; <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Drawable.html">Drawable</A>&gt; &gt; DrawableList Geode()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Geode"></A>
<A NAME="DOC.2.48.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Geode(const <!1><A HREF="Geode.html#DOC.2.48.2">Geode</A>&amp;, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
<DL><DT><DD></DL><P>
<A NAME="META_Node"></A>
<A NAME="DOC.2.48.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_Node(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="Geode.html">Geode</A>)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addDrawable"></A>
<A NAME="DOC.2.48.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const bool addDrawable( <!1><A HREF="Drawable.html">Drawable</A>* drawable )</B></TT>
<DD>Add Drawable to Geode.
If gset is not NULL and is not contained in Geode then increment its  
reference count, add it to the drawables list and dirty the bounding 
sphere to force it to recompute on next getBound() and return true for success.
Otherwise return false.
<DL><DT><DD></DL><P>
<A NAME="removeDrawable"></A>
<A NAME="DOC.2.48.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const bool removeDrawable( <!1><A HREF="Drawable.html">Drawable</A>* drawable )</B></TT>
<DD>Remove Drawable from Geode.
If gset is contained in Geode then remove it from the geoset
list and decrement its reference count, and dirty the 
bounding sphere to force it to recompute on next getBound() and
return true for success.  If gset is not found then return false
and do not change the reference count of gset.
<DL><DT><DD></DL><P>
<A NAME="replaceDrawable"></A>
<A NAME="DOC.2.48.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const bool replaceDrawable( <!1><A HREF="Drawable.html">Drawable</A>* origDraw, <!1><A HREF="Drawable.html">Drawable</A>* newDraw )</B></TT>
<DD>Replace specified Drawable with another Drawable.
Decrement the reference count origGSet and increments the
reference count of newGset, and dirty the bounding sphere
to force it to recompute on next getBound() and returns true.
If origDrawable is not found then return false and do not 
add newGset.  If newGset is NULL then return false and do
not remove origGset.
<DL><DT><DD></DL><P>
<A NAME="getNumDrawables"></A>
<A NAME="DOC.2.48.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const unsigned int getNumDrawables() const </B></TT>
<DD>return the number of geoset's
<DL><DT><DD></DL><P>
<A NAME="getDrawable"></A>
<A NAME="DOC.2.48.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Drawable.html">Drawable</A>* getDrawable( const unsigned int i )</B></TT>
<DD>return geoset at position i
<DL><DT><DD></DL><P>
<A NAME="getDrawable"></A>
<A NAME="DOC.2.48.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const <!1><A HREF="Drawable.html">Drawable</A>* getDrawable( const unsigned int i ) const </B></TT>
<DD>return geoset at position i
<DL><DT><DD></DL><P>
<A NAME="containsDrawable"></A>
<A NAME="DOC.2.48.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool containsDrawable(const <!1><A HREF="Drawable.html">Drawable</A>* gset) const </B></TT>
<DD>return true if geoset is contained within Geode
<DL><DT><DD></DL><P>
<A NAME="findDrawable"></A>
<A NAME="DOC.2.48.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   DrawableList::iterator findDrawable(const <!1><A HREF="Drawable.html">Drawable</A>* gset)</B></TT>
<DD>return the iterator position for specified Drawable.
return _geoset.end() if gset not is contained in Geode.
<DL><DT><DD></DL><P>
<A NAME="findDrawable"></A>
<A NAME="DOC.2.48.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   DrawableList::const_iterator findDrawable(const <!1><A HREF="Drawable.html">Drawable</A>* gset) const </B></TT>
<DD>return the const_iterator position for specified Drawable.
return _geoset.end() if gset not is contained in Geode.
<DL><DT><DD></DL><P>
<A NAME="compileDrawables"></A>
<A NAME="DOC.2.48.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void compileDrawables(<!1><A HREF="State.html">State</A>&amp; state)</B></TT>
<DD>compile OpenGL Display List for each geoset
<DL><DT><DD></DL><P>
<A NAME="~Geode"></A>
<A NAME="DOC.2.48.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Geode()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="computeBound"></A>
<A NAME="DOC.2.48.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const bool computeBound() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="_drawables"></A>
<A NAME="DOC.2.48.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>DrawableList _drawables</B></TT>
<DL><DT><DD></DL><P></DL>
<HR>
<DL><DT><B>Direct child classes:
</B><DD><A HREF="Billboard.html">Billboard</A><BR>
</DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
